Estoy construyendo un servidor con Node y Express, usando manillares como vistas. Mi controlador contiene las funciones lógicas del sistema, las cuales reciben los objetos de solicitud y respuesta como parámetros y mi Ruta, solo hace la conexión entre la ruta y el controlador. Pero no puedo ver el error para generar este error en el título.
Mi controlador.js:
const router = express.Router(); exports.home = (req, res) => { res.render('home', { entries: entries }); }; exports.Form = (req, res) =>{ res.render('form') }; exports.FormFetch = (req, res) =>{ res.render('form-fetch') };Mi aplicación.js:
const express = require('express'); const handlebars = require('express-handlebars'); const app = express(); app.engine('.hbs', handlebars.engine({ defaultLayout: 'main', extname: '.hbs', })); app.set('view engine', '.hbs') app.use(express.urlencoded({ extended: false })); app.use(express.json()); var userRoute = require('./routes') app.get('/', userRoute) app.use('/new-entry', userRoute) app.use('/new-entry-fetch', userRoute) app.listen(3000, () =>{ console.log('Ok') });Mis rutas.js:
const express = require('express'); const controller = require('./controllers/controllers'); const app = express(); const entries = []; app.get('/', (req, res) => { res.render(controller.home, { entries: entries }); }); app.get('/new-entry', (req, res) => { res.render(controller.Form); }); app.get('/new-entry-fetch', (req, res) => { res.render(controller.FormFetch); }); app.post('/new-entry', (req, res) => { entries.push({ title: req.body.title, content: req.body.body, published: new Date() }); res.redirect(303, '/'); }); module.exports = app